iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Software Development

我獨自開發 - 30天進化之路,掌握 Laravel + Nuxt系列 第 7

D7 - 加入版本控制,讓你的專案擁有「多重宇宙」

  • 分享至 

  • xImage
  •  

好了,經過前幾篇的努力,我們的開發環境已經搭建完成,並進行了初步的測試。一切看起來都很順利,但在正式進入開發之前,我們還有一件重要的事情要做:加入版本控制。
你可能會想:「現在還早吧?我一個人開發,有必要嗎?」但相信我,版本控制就像是遊戲中的存檔點,或者電影裡的多重宇宙時間線,在你需要的時候,能讓你回到過去,或者探索不同的開發路線。

一、為什麼需要版本控制?

想像一下,你正在開發一個新功能,結果一不小心把原本運作正常的程式碼改壞了。如果沒有版本控制,你可能得花上好幾個小時,甚至幾天,來找出問題所在。但有了版本控制,只要輕鬆一個指令,就能回到之前的狀態,就像穿越到了平行宇宙,一切問題都不復存在。

個人經驗分享:有一次,我在專案中嘗試一個新框架,結果發現完全不適合。幸好當初有用 Git,把嘗試的部分放在新分支,最後輕鬆切回主分支,省了不少麻煩。

二、Git 就是你的「時間機器」

Git 可以說是開發者的時間機器,讓你在專案的時間線上自由穿梭。每一次的提交(commit),就像是遊戲的存檔點,你可以在任何時候回到這個點。更厲害的是,Git 還支持分支(branch),讓你可以在不同的時間線上探索,互不干擾。

加入版本控制後,你就擁有了「多重宇宙」的力量。錯誤的代碼?沒關係,那只是另一個平行宇宙的悲劇,在這個宇宙裡,我們可以重新開始!

三、開始使用 Git

1. 安裝 Git

首先,確保你的電腦已經安裝了 Git。如果還沒有,請到 Git 官方網站 下載並安裝。各個平台的安裝都非常簡單,這裡就不贅述了。

2. 初始化 Git 儲存庫

在專案的根目錄下,執行以下指令:

git init

這會在你的專案中建立一個 .git 目錄,Git 會在這裡存放所有的版本控制資訊。

3. 設定 .gitignore

我們不希望把一些不必要的檔案納入版本控制,特別是那些會隨系統變動的檔案,例如編譯後的檔案、環境設定檔等。
在專案根目錄下建立 .gitignore 檔案,內容如下:

# Node modules
web/node_modules/
web/.nuxt/
web/.output/

# Laravel vendor
api/vendor/
api/storage/
api/node_modules/

# Environment files
*.env
.env

# Composer lock
api/composer.lock

# Docker volumes
.docker-env/.db_data/

# Log files
*.log

# MacOS
.DS_Store

# IDE files
.idea/
.vscode/

這樣,Git 就會自動忽略這些檔案,不會把它們納入版本控制。

4. 首次提交

現在,我們可以將目前的專案狀態提交到 Git:

git add .
git commit -m "初次提交:建立專案結構與開發環境"

恭喜你,你的專案現在已經有了第一個存檔點!

四、將專案推送到 GitHub

雖然在本機使用 Git 已經不錯,但將專案推送到遠端儲存庫(如 GitHub)會更安全,也方便未來的協作。

1. 註冊 GitHub 帳號

如果你還沒有 GitHub 帳號,請到 GitHub 官方網站註冊一個。GitHub 是目前最流行的代碼託管平台,除了備份相關程式碼外,還有很多強大的功能等著你探索。

2. 建立新的儲存庫{這邊我就列個大概}

登入 GitHub 後,點擊右上角的「+」號,選擇「New repository」,然後:

  • Repository name:輸入你的專案名稱,例如 my-finance-app。
  • Description:簡單描述一下你的專案。
  • Public / Private:選擇儲存庫的可見性。如果你想讓專案公開,選擇 Public;如果只想自己看,選擇 Private。
  • Initialize this repository with a README:不要勾選,因為我們已經在本機有代碼了。
    點擊「Create repository」,GitHub 會為你建立一個新的儲存庫。

3. 連接遠端儲存庫

回到本機終端機,執行以下指令(請將 your-username 和 your-repo 替換為你的 GitHub 用戶名和儲存庫名稱):

git remote add origin https://github.com/your-username/your-repo.git
git branch -M main
git push -u origin main

這樣,你的專案就成功推送到 GitHub 上了!現在,即使你的電腦爆炸(當然希望不會),你的代碼也安全地存在於雲端。

五、日常使用 Git 的技巧

1. 維持良好的提交習慣

每當完成一個功能或修正一個 bug,記得進行提交。提交訊息要清晰明瞭,讓未來的自己一看就懂。例如:

git commit -m "新增財務記錄的 API 功能"

2. 使用分支管理開發

分支就像是多重宇宙的不同時間線,讓你可以在不影響主線的情況下進行開發。當你想嘗試新的功能或實驗時,可以建立一個新分支:

git checkout -b feature/add-authentication

開發完成並測試無誤後,再合併回主分支:

git checkout main
git merge feature/add-authentication

3. 定期推送到遠端儲存庫

別忘了定期將你的提交推送到 GitHub,上傳到雲端既是備份,也是紀錄。

git push

4. 避免將敏感資訊提交到 Git

確保 .env 等包含敏感資訊的檔案被加入 .gitignore,避免不小心洩露 API 金鑰、密碼等重要資訊。

再次提醒:別問我為什麼知道這麼重要,因為我聽說,有人在公開的儲存庫中提交過自己的 AWS 密鑰,結果被亂刷了一大筆費用。那真是教訓啊!

六、Git 進階技巧

1. 回到過去

如果某次提交導致專案無法運作,你可以回到之前的版本:

git checkout <commit-hash>

2. 檢視歷史紀錄

查看所有的提交歷史,了解專案的演進:

git log

3. 撤銷更改

如果修改了檔案但還沒提交,想要撤銷,可以執行:

git checkout -- <file>

七、結語

加入版本控制,就像是給你的專案安裝了一個時光機,讓你能夠自由地在時間線上穿梭,探索各種可能性,而不用擔心犯錯。Git 和 GitHub 不僅僅是工具,更是開發者的好夥伴。

下一步

現在,我們的專案已經有了穩固的基礎和時間機器,接下來就可以正式開始後端 API 的開發了!讓我們繼續這場充滿挑戰和樂趣的冒險吧!

最後的叮嚀:版本控制可能一開始看起來有點複雜,但相信我,一旦習慣了,你會覺得離不開它。就像你花了 N 個小時調整了代碼格式,只有自己看得出來,但這種內心的滿足感,才是開發的樂趣所在!
加油,我們在下一篇文章中見!


上一篇
D6 - 第一階段小驗收
下一篇
D8 - 深入設計個人財務管理系統的資料庫結構
系列文
我獨自開發 - 30天進化之路,掌握 Laravel + Nuxt13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言